package com.hanthink.system.service.impl.equipment;

import java.text.SimpleDateFormat;
import java.util.List;

import com.hanthink.common.exception.CustomException;
import com.hanthink.system.domain.equipment.EmEquipStatusLog;
import com.hanthink.system.mapper.equipment.EmEquipStatusLogMapper;
import com.hanthink.system.service.equipment.IEmEquipStatusLogService;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * 设备状态日志Service业务层处理
 * 
 * @author hanthink
 * @date 2021-07-19
 */
@Service
public class EmEquipStatusLogServiceImpl implements IEmEquipStatusLogService 
{
    @Autowired
    private EmEquipStatusLogMapper emEquipStatusLogMapper;

    /**
     * 查询设备状态日志
     * 
     * @param id 设备状态日志ID
     * @return 设备状态日志
     */
    @Override
    public EmEquipStatusLog selectEmEquipStatusLogById(Long id)
    {
        return emEquipStatusLogMapper.selectEmEquipStatusLogById(id);
    }

    /**
     * 查询设备状态日志列表
     * 
     * @param emEquipStatusLog 设备状态日志
     * @return 设备状态日志
     */
    @Override
    public List<EmEquipStatusLog> selectEmEquipStatusLogList(EmEquipStatusLog emEquipStatusLog)
    {
        return emEquipStatusLogMapper.selectEmEquipStatusLogList(emEquipStatusLog);
    }

    /**
     * 新增设备状态日志
     * 
     * @param emEquipStatusLog 设备状态日志
     * @return 结果
     */
    @Override
    public int insertEmEquipStatusLog(EmEquipStatusLog emEquipStatusLog)
    {
    	// 校验设备在系统中是否存在
    	List<EmEquipStatusLog> list = emEquipStatusLogMapper.selectEmEquipStatusLogListOne(emEquipStatusLog);
		if (list != null && list.size()>0) {
			throw new CustomException("设备:" + emEquipStatusLog.getEquipName() + "  开班时间："+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(emEquipStatusLog.getCreateTime())+" 在系统中已存在，请核实");
		}
        
        return emEquipStatusLogMapper.insertEmEquipStatusLog(emEquipStatusLog);
    }

    /**
     * 修改设备状态日志
     * 
     * @param emEquipStatusLog 设备状态日志
     * @return 结果
     */
    @Override
    public int updateEmEquipStatusLog(EmEquipStatusLog emEquipStatusLog)
    {
    	// 校验设备在系统中是否存在
    	List<EmEquipStatusLog> list = emEquipStatusLogMapper.selectEmEquipStatusLogListOne(emEquipStatusLog);
		if (list != null && list.size()>0) {
			throw new CustomException("设备:" + emEquipStatusLog.getEquipName() + "  开班时间："+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(emEquipStatusLog.getCreateTime())+" 在系统中已存在，请核实");
		}
        return emEquipStatusLogMapper.updateEmEquipStatusLog(emEquipStatusLog);
    }

    /**
     * 批量删除设备状态日志
     * 
     * @param ids 需要删除的设备状态日志ID
     * @return 结果
     */
    @Override
    public int deleteEmEquipStatusLogByIds(Long[] ids)
    {
        return emEquipStatusLogMapper.deleteEmEquipStatusLogByIds(ids);
    }

    /**
     * 删除设备状态日志信息
     * 
     * @param id 设备状态日志ID
     * @return 结果
     */
    @Override
    public int deleteEmEquipStatusLogById(Long id)
    {
        return emEquipStatusLogMapper.deleteEmEquipStatusLogById(id);
    }
}
